import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


//这里的  /hello
//把当前的这个HelloServlet这个类和HTTP请求中的URL里面路径带有/hello这样的请求给关联起来了~~
//Tomcat可能会受到很多种形形色色的请求~~
//      /123
//      /aaa
//      /test
//      .....
//
//这么多请求，咱们的代码只管其中的一种情况:
//      /hello
//才会让Tomcat来调用HelloServlet这个类来进行处理
///hello是和HelloServlet这个类关联起来了.
//但是要想执行到doGet,还得保证方法也是GET方法
//如果是post/hello，仍然无法执行到doGet  我们还需要添加post方法才能执行到
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {


    @Override
//    参数 req请求   resp响应
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//do:处理
//Get对应到HTTP的GET方法
//这个方法就是在tomcat收到了一个HTTP GET请求的时候会被Tomcat调用到一- (回凋函数)


//         super.doGet(req, resp); 自己重写该方法 不需要再调用父类方法 要注释掉

//         这个是让服务器在自己的控制台里打印
        System.out.println("hello world");
//         在页面上也能打印 hello world
//         把 hello world 字符串 放到 http 响应的 body 中.浏览器就会把 body 的内容 显示到页面上了


         resp.getWriter().write("hello world" + System.currentTimeMillis());
//                 如果不给响应对象中设置任何内容 就是将上面那张代码注释掉 网页就不会出现画面(空白页面)
    }



//    其他方法
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }

    @Override
    protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doDelete(req, resp);
    }

    @Override
    protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPut(req, resp);
    }
}